home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_2 / rsh_104.zip / RSHELL-D.ZIP / RSHELL.DOC < prev    next >
Text File  |  1990-12-17  |  22KB  |  507 lines

  1.  
  2. Intoduction:
  3. ============
  4. The Remote Shell is a program to allow a co-sysop or a friend to use part of
  5. your computer system while still guaranteeing that your system is secure.
  6. You control what areas of the disk the person has access to as well as what
  7. commands the person will have access to.
  8.  
  9. Support is included for adding up to 12 additional commands controlled via
  10. external batch files.
  11.  
  12. I would be interested in any comments or suggestion you have about The
  13. Remote Shell.  This version does not yet support the E)dit file command.  It
  14. will take some more coding so until then you will have to do without.  What
  15. I have done for my remote user is to add an external command to the EMEdit
  16. program with redirected i/o.  This editor is an ANSI based editor and will
  17. therefore work.  The EMEDIT.ZIP file is available in my SysOps area for
  18. any who feel they need a remote editor now.
  19.  
  20.  
  21. File list:
  22. ==========
  23. This document is a simple instruction to use to setup The Remote Shell.
  24. The following files are included:
  25.  
  26.         REGISTER.TXT  -  Door registration, please fill out & return.
  27.         RSHELL.DOC    -  This Document
  28.         RSHELL.BAT    -  DOORS execution file (sample)
  29.         RSHELL.EXE    -  The executible program (will run stand-alone)
  30.         RSHELL.CFG    -  Door configuration file (see below)
  31.         RSHELL.USR    -  Sample user access file (see below)
  32.         RSHELL.HLP    -  Help file
  33.         RSEXTERN.HLP  -  Sample extended command help file (see below)
  34.         RSYES         -  Response file.
  35.  
  36.         RSTEST.BAT    -  Sample extended command to dump arguments.
  37.         RSXARC.BAT    -  Sample extended command to archive files.
  38.         RSXUARC.BAT   -  Sample extended command to de-archive files.
  39.         RSXDL.BAT     -  Sample extended command to download a file
  40.                          using standard external protocol drivers.
  41.         RSXUL.BAT     -  Sample extended command to upload a file
  42.                          using standard external protocol drivers.
  43.  
  44.         RSHELL.LOG    -  Door entry &  error log (created by program)
  45.         NODES.BBS     -  A list of your comm port assignments by BBS node
  46.  
  47.  
  48. Program history:
  49. ================
  50. 7/89    Version B.00  -  Beta version.  No edit command.
  51. 10/89   Version 1.00  -  Still BETA. now has Spitfire support & install pgm.
  52. 08/90   Version 1.01  -  Still BETA. a few bug fixes.
  53. 08/90   Version 1.02  -  Bug fixes.
  54. 12/90   Version 1.04  -  Converted to interrupt driven i/o.
  55.                          Still no built-in editor support.
  56.  
  57.  
  58. Executing RShell:
  59. =================
  60. To execute directly as a door, you can use the file RSHELL.BAT.  The
  61. program must be executed from the directory containing all of the
  62. above listed files except that NODES.BBS must be in the BBS directory.
  63.  
  64. RShell is invoked one of four ways.
  65.  
  66.         1. RSHELL
  67.         2. RSHELL node
  68.         3. RSHELL node path
  69.         4. RSHELL node path bbs
  70.  
  71. The first is used to run RShell in local mode.  This will give you a chance
  72. to test the configuration and profiles of the users you plan to give remote
  73. shell access to before they do..  The second method is used to run RShell
  74. under the door monitor.  The node parameter is automatically passed in
  75. by the monitor, and RShell uses the standard door monitor files for
  76. communicating time controls and scores.  The third method is used when
  77. running as a door directly under RBBS 15.x.  The path parameter is the current
  78. full path containing the RBBS configuration files.  The node is the RBBS
  79. node number.  The node number is passed to door batch files as parameter 1.
  80. The fourth method may be used for either RBBS 16+ or other BBSs.  The fourth
  81. parameter is used to specify the BBS type.  Set this to:
  82.  
  83.         (empty)         for RBBS 15.x
  84.         RBBS            for RBBS 16.x or newer
  85.         QBBS            for Quick BBS
  86.         PCBOARD         for PC-Board 12.1
  87.         PCBOARD14       for PC-Board 14.0
  88.         WILDCAT         for Wildcat BBS
  89.         GAP             for GAP BBS
  90.         WWIV            for WWiV BBS
  91.         SPITFIRE        for a Spitfire door
  92.         SPITFIREK       for a Spitfire Main menu command
  93.         SPITFIREM       for a Spitfire Msg. menu command
  94.         SPITFIREF       for a Spitfire File menu command
  95.  
  96.  
  97. Assumed RBBS 16.x files:
  98. ========================
  99. RShell assumes that the following files are in the directory specified
  100. by the path parameter when running directly under RBBS 16.x:
  101.  
  102.         NODES.BBS       Node definition file.
  103.  
  104.         MESSAGES        This file contains the information pertaining
  105.                         to each node on the BBS.
  106.  
  107.         DORINFOx.DEF    This file contains all of the users settings
  108.                         such as graphics, parity, baud rate, etc.
  109.  
  110.  
  111. Assumed RBBS 15.x files:
  112. ========================
  113. RShell assumes that the following files are in the directory specified
  114. by the path parameter when running directly under RBBS 15.x:
  115.  
  116.         NODES.BBS       Node definition file.
  117.  
  118.         MESSAGES        This file contains the information pertaining
  119.                         to each node on the BBS.
  120.  
  121.         USERS           This file contains all of the users settings
  122.                         such as graphics, parity, baud rate, etc.
  123.  
  124.         PASSWRDS        This file MUST contain an entry for each security
  125.                         level allowed to run doors.  Sherlock gets the
  126.                         users daily time limit from this file.
  127.  
  128.  
  129. Assumed Quick BBS files:
  130. ========================
  131. RShell assumes that the following files are in the directory specified
  132. by the path parameter when running directly under Quick BBS:
  133.  
  134.         NODES.BBS       Node definition file.
  135.  
  136.         DORINFOx.DEF    This file contains all of the users settings
  137.                         such as graphics, parity, baud rate, etc.
  138.  
  139.  
  140. Assumed PC-BOARD files:
  141. =======================
  142. RShell assumes that the following files are in the directory specified
  143. by the path parameter when running directly under PC-Board:
  144.  
  145.         NODES.BBS       Node definition file.
  146.  
  147.         PCBOARD.SYS     This file contains the information pertaining
  148.                         to the BBS node and the callers information.
  149.  
  150.  
  151.  
  152. Assumed Wildcat files:
  153. ======================
  154. RShell assumes that the following files are in the directory specified
  155. by the path parameter when running directly under Wildcat:
  156.  
  157.         NODES.BBS       Node definition file.
  158.  
  159.         CALLINFO.BBS    This file contains all of the users settings
  160.                         such as graphics, parity, baud rate, etc.
  161.  
  162.  
  163.  
  164. Assumed GAP files:
  165. ==================
  166. RShell assumes that the following files are in the directory specified
  167. by the path parameter when running directly under GAP:
  168.  
  169.         NODES.BBS       Node definition file.
  170.  
  171.         DOOR.SYS        This file contains all of the users settings
  172.                         such as graphics, parity, baud rate, etc.
  173.  
  174.  
  175.  
  176. Assumed WWIV files:
  177. ===================
  178. RShell assumes that the following files are in the directory specified
  179. by the path parameter when running directly under WWIV:
  180.  
  181.         NODES.BBS       Node definition file.
  182.  
  183.         CHAIN.TXT       This file contains all of the users settings
  184.                         such as graphics, parity, baud rate, etc.
  185.  
  186.  
  187.  
  188. Assumed Spitfire files:
  189. =======================
  190.  
  191. Opinion assumes that the following files are in the directory specified
  192. by the path parameter when running directly under Spitfire:
  193.  
  194.         NODES.BBS       Node definition file.
  195.  
  196.       * SFDOORS.DAT     This file contains all of the users settings
  197.                         such as graphics, parity, baud rate, etc.
  198.  
  199.       * SFMAIN.DAT      This file contains all of the users settings
  200.                         such as graphics, parity, baud rate, etc.
  201.  
  202.       * SFMESS.DAT      This file contains all of the users settings
  203.                         such as graphics, parity, baud rate, etc.
  204.  
  205.       * SFFILE.DAT      This file contains all of the users settings
  206.                         such as graphics, parity, baud rate, etc.
  207.  
  208. * Note only one of these files is required.  Will depend on the environment
  209. you select.
  210.  
  211.  
  212.  
  213. Assumed Monitor files:
  214. ======================
  215. RShell assumes that the following files are in the local directory with
  216. the game when running under an RBBS monitor:
  217.  
  218.         NODES.BBS       Node definition file.
  219.  
  220.         TIMEOFFx.DOR    This file contains all of the users settings
  221.                         such as graphics, parity, baud rate, etc.
  222.  
  223.  
  224. RShell assumes that the following files are in directory specified in the
  225. path parameter of the TIMEOFFx.DOR file:
  226.  
  227.         USERS.DOR       Monitor users file.
  228.  
  229.         MONITOR1.EXE    This file will be executed when the program
  230.                         terminates.
  231.  
  232.  
  233. RShell will build the following files are in the local directory with
  234. the game when running under an RBBS monitor:
  235.  
  236.         POINTSx.DOR     This file contains returns the amount of time
  237.                         used in the game and a Monitor score value.
  238.  
  239.  
  240.  
  241. The subdirectory setup:
  242. =======================
  243. RShell requires that two subdirectories exist within the same directory
  244. form which it is executed.  The first is \WORK.  This subdirectory is used
  245. as a work buffer for extended commands which operate on marked files.  The
  246. second subdirectory is \BAT.  This subdirectory is where all the .BAT files
  247. used to support extended commands (see below) must be stored.
  248.  
  249.  
  250. The configuration file:
  251. =======================
  252. The following is a definition of the RSHELL.CFG configuration file:
  253.  
  254.         Line 1: BBS name
  255.         Line 2: Name of BBS SysOp
  256.         Line 3: Complete drive/path/filename of log file
  257.         Line 4: Start of paging hours
  258.         Line 5: End of paging hours
  259.  
  260.  
  261. The user profiles:
  262. ==================
  263. The file RSHELL.USR contains the user profiles for the persons you will
  264. allow access to The Remote Shell.  Each profile begins with a :LOGIN
  265. directive and ends with an :END directive.  The profile controls which
  266. commands each user will be able to use and defines any extended/external
  267. commands you wish them to have access to.  When the door is run, the .USR
  268. file is scanned for a matching login.  The profile is processed when the
  269. matching login is found.  Any profile errors will be logged to the log file
  270. so you should run it locally to test the integrity of the profile whenever
  271. you make changes and then scan the log file for errors.
  272.  
  273. Note that blank lines are ignored and that any part of a line after a ';'
  274. character is considered a comment.
  275.  
  276. The following are descriptions of each of the profile statements:
  277.  
  278.         General Info Directives:
  279.         ------------------------
  280.         The general directives are used to specify basic information about
  281.         the user and his access to the system.
  282.  
  283.         :LOGIN    user_name     This directive is used to specify a users
  284.                                 BBS login name.  This is a person whom you
  285.                                 are giving access to The Remote Shell.  The
  286.                                 user name is not case sensative and may be
  287.                                 one or more words up to a total of 128
  288.                                 characters.
  289.  
  290.         :PASSWORD word          This directive is used to specify the password
  291.                                 the user will need to type in in order to gain
  292.                                 access to The Remote Shell.  If this directive
  293.                                 is left out then no password will be required.
  294.                                 The password is case sensative and may be one
  295.                                 or more words up to 128 total characters.
  296.  
  297.         :ROOT     dirpath dsc   This directive specifies the base directory
  298.                                 the user will have access to.  He will have
  299.                                 access to this directory and all of its
  300.                                 child directories.  The full drive and path
  301.                                 should be specified and the path should not
  302.                                 terminate in a '\' character as this is
  303.                                 added automatically by the program (unless
  304.                                 you are specifying a root directory).  Note
  305.                                 that the user will not know which drive he
  306.                                 is on or in what directory area.  For all
  307.                                 effect, this is the root of the only drive
  308.                                 he has access to.  This directive is required
  309.                                 for the user to have access and will be
  310.                                 flagged as an error if it is absent.  The
  311.                                 dirpath must be a single word and may not
  312.                                 exceed 120 characters.
  313.  
  314.                                 The dsc parameter is a description shown
  315.                                 to the user during the select command.  The
  316.                                 dsc parameter may be from 0 to 5 words but
  317.                                 may not exceed 40 characters total (spaces
  318.                                 included).
  319.  
  320.         :ROOT2    dirpath dsc   This directive specifies a second base
  321.                                 directory the user will have access to if it
  322.                                 is defined.
  323.  
  324.         :ROOT3    dirpath dsc   This directive specifies a third base
  325.                                 directory the user will have access to if it
  326.                                 is defined.
  327.  
  328.         :ROOT4    dirpath dsc   This directive specifies a fourth base
  329.                                 directory the user will have access to if it
  330.                                 is defined.
  331.  
  332.         :END                    This directive is used to specify the end
  333.                                 of a user profile and must be included.
  334.  
  335.  
  336.         Intrinsic Command Directives:
  337.         -----------------------------
  338.         The instrinsic command directives, if present, give the user access
  339.         to each of the commands they represent.  If the directive is present
  340.         they can use the associated command.  If it is absent, the user will
  341.         be denied access to the associated command.
  342.  
  343.         :MKDIR                  User may make new sudirectories if this
  344.                                 directive is present.
  345.  
  346.         :RMDIR                  User may remove subdirectories if this
  347.                                 directive is present.
  348.  
  349.         :CHDIR                  User may change directories if this directive
  350.                                 is present.
  351.  
  352.         :COPY                   The user may copy files between windows if
  353.                                 this directive is present.
  354.  
  355.         :DELETE                 The user may delete files if this directive
  356.                                 is present.
  357.  
  358.         :RENAME                 The user may rename files if this directive
  359.                                 is present.
  360.  
  361.         :TYPE                   The user may list a files contents to the
  362.                                 display if this directive is present.
  363.  
  364.         :FILTER                 The user may change the directory view
  365.                                 filter if this directive is present.
  366.  
  367.         :MARK                   The user may mark files for group operations
  368.                                 if this directive is present.
  369.  
  370.         :CLEAR                  The user may clear all marks if this directive
  371.                                 is present.
  372.  
  373.         :EDIT                   The user may edit files if this directive is
  374.                                 present.
  375.  
  376.         :PAGE                   The user may page the sysop during paging
  377.                                 hours if this directive is present.
  378.  
  379.         :EXTENDED               The user may have access to the extended
  380.                                 command menu if this directive is present.
  381.  
  382.         :QUIT                   The user will always be able to quit.  The
  383.                                 directive was only included to keep the
  384.                                 format consistant.
  385.  
  386.  
  387.         Extended Command Directives:
  388.         ----------------------------
  389.         The :EXTERN directive is a way to provide your user with access to
  390.         commands not built into The Remote Shell.  Each profile may contain
  391.         up to 12 :EXTERN directives.  See below for more information on
  392.         setting up extended/external commands.
  393.  
  394.         :EXTERN   key text multi batch
  395.                                 The key parameter is used to specify which
  396.                                 key will be used to execute the command.
  397.                                 This may be any alpha-numeric or symbol key
  398.                                 except the following: ?, Q, and 1-9.
  399.  
  400.                                 The text parameter is used to specify the
  401.                                 text that is displayed in the menu.  This
  402.                                 must be a single word and cannot exceed 12
  403.                                 characters in length.
  404.  
  405.                                 The multi parameter is a single capital
  406.                                 character.  Use 'M' to indicate the command
  407.                                 may be executed against a group of marked
  408.                                 files, or 'S' to indicate that the command
  409.                                 is for use by single files only.
  410.  
  411.                                 The batch parameter is used to specify the
  412.                                 name of the .BAT file to execute when this
  413.                                 command is invoked.  This must be a single
  414.                                 word and may not exceed 8 characters.  Do
  415.                                 not include the .BAT extension as this will
  416.                                 automatically be done by the program.
  417.  
  418.  
  419. Extended/External Commands:
  420. ===========================
  421. As stated, extended/external commands are a means to provide the user with
  422. commands not built into The Remote Shell.  The batch file must be in the
  423. \BAT directory off of the base RShell directory.  The following parameters
  424. are passed to the batch file:
  425.  
  426.                 %0      Full name of the batch file being executed
  427.                 %1      The BBS node number
  428.                 %2      Full drive/path/filename of current file. This
  429.                         will be the work directory\*.* if the command
  430.                         supports multi-file access and files are marked.
  431.                 %3      Comm port name, ie COM2
  432.                 %4      Baud rate
  433.                 %5      Data bits
  434.                 %6      Parity setting
  435.                 %7      Stop bits
  436.                 %8      Minutes of connect time remaining.
  437.                 %9 +    The user login, one word at a time.  Each word in
  438.                         the user login is passed seperately.  As an example
  439.                         John Van Test is passed in %9 %10 %11.  Note that
  440.                         to get past %9 you must use the batch parameter
  441.                         shift command.
  442.  
  443. Be advised that support for baud rates, etc, vary under this program.  You
  444. should use the TEST.BAT function to check if the correct parameters will
  445. reach the batch file.
  446.  
  447. A word of caution.  Although the user can do no more damage other than to
  448. the subdirectories you provide him or to fill the disk using copy, care
  449. must be exercised when using extended/external commands.  For instance,
  450. if you provide him access to MAKE to run make scripts for compiling, etc,
  451. he could easily edit the make script to include a statement to reformat
  452. your hard disk.  Care should be exercised and I am sure you know the users
  453. who will have access and how well they can be trusted.
  454.  
  455. Also another note.  Once the batch file starts, no provision is made to
  456. redirect i/o to the comm port or aux device drivers.  This is left up to
  457. you so that you can control what the user sees with controls in the batch
  458. files.  Also no provision for DCD monitoring exists so you may need to run
  459. WATCHDOG or an equivalent depending on what the batch command does.  Check
  460. the sample batch files for examples.
  461.  
  462.  
  463. SysOp controls:
  464. ===============
  465. The SysOp has similar controls as to those provided in RBBS.  The following
  466. set of functions are available:
  467.  
  468.     Alt F1      This key will eject the current user from the game
  469.                 by setting all his door access time to consumed.
  470.  
  471.     Right Arrow This key will add 1 minute of door access time to
  472.                 the current users current door session.
  473.  
  474.     Left Arrow  This key will subtract 1 minute of door access time
  475.                 from the current users current door session.
  476.  
  477.         F4      The F4 key will toggle the state of the SysOp
  478.                 annoy toggle.  Note that it is reset to its
  479.                 original state when RBBS is reentered.
  480.  
  481.         F6      The F6 key will toggle the state of the SysOp
  482.                 availability toggle.  Note that it is reset to
  483.                 its original state when RBBS is reentered.
  484.  
  485.         F9      The F9 key will toggle the state of the SysOp
  486.                 snoop toggle.  Note that it is reset to its
  487.                 original state when RBBS is reentered.
  488.  
  489.         F10     The F10 key is used to initiate CHAT mode.  This
  490.                 allows the SysOp to converse with the user via the
  491.                 keyboard.  Full word wrap is supported.
  492.  
  493.         ESC     The escape key is used to answer a user page.  It
  494.                 is also used to terminate CHAT mode.
  495.  
  496.  
  497. Epilog:
  498. =======
  499. Please enjoy the program and share any comments you have.
  500.  
  501.                                                 Thanks,
  502.  
  503.                                                 Michael W. Bayley
  504.                                                 Mycroft Systems
  505.                                                 BBS: (408)927-0105
  506.  
  507.